gsk: Remove gsk_render_node_get_size()
authorBenjamin Otte <otte@redhat.com>
Sun, 11 Dec 2016 10:55:10 +0000 (11:55 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 20 Dec 2016 17:01:09 +0000 (18:01 +0100)
In the brave new world of refactored render nodes, this function doesn't
really make any sense anymore. We could turn it into a vfunc, but I
don't think it's useful.

Especially because even in the brave old world, this function was
causing a vastl overallocation of nodes when the GL renderer needed render
targets.

gsk/gskglrenderer.c
gsk/gskrendernode.c
gsk/gskrendernodeprivate.h

index f7bf7bc0a5e329263362b8b16b99be07bbba345b..f7d9eb9d9cea84335337ef36af4bd5931a912b96 100644 (file)
@@ -800,28 +800,23 @@ gsk_gl_renderer_validate_tree (GskGLRenderer           *self,
                                GskRenderNode           *root,
                                const graphene_matrix_t *projection)
 {
-  int n_nodes;
-
   if (self->gl_context == NULL)
     {
       GSK_NOTE (OPENGL, g_print ("No valid GL context associated to the renderer"));
       return FALSE;
     }
 
-  n_nodes = gsk_render_node_get_size (root);
-
   gdk_gl_context_make_current (self->gl_context);
 
-  self->render_items = g_array_sized_new (FALSE, FALSE, sizeof (RenderItem), n_nodes);
+  self->render_items = g_array_new (FALSE, FALSE, sizeof (RenderItem));
 
   gsk_gl_driver_begin_frame (self->gl_driver);
 
   GSK_NOTE (OPENGL, g_print ("RenderNode -> RenderItem\n"));
   gsk_gl_renderer_add_render_item (self, projection, self->render_items, root, NULL);
 
-  GSK_NOTE (OPENGL, g_print ("Total render items: %d of max:%d\n",
-                             self->render_items->len,
-                             n_nodes));
+  GSK_NOTE (OPENGL, g_print ("Total render items: %d\n",
+                             self->render_items->len));
 
   gsk_gl_driver_end_frame (self->gl_driver);
 
index 62b0caf1d506d674024805fa22aec10467627ac8..0a93c33eb6bb45b9cfc7eabda5fd2671247288eb 100644 (file)
@@ -849,30 +849,3 @@ gsk_render_node_make_immutable (GskRenderNode *node)
   node->is_mutable = FALSE;
 }
 
-/*< private >
- * gsk_render_node_get_size:
- * @root: a #GskRenderNode
- *
- * Computes the total number of children of @root.
- *
- * Returns: the size of the tree
- */
-int
-gsk_render_node_get_size (GskRenderNode *root)
-{
-  GskRenderNode *child;
-  int res;
-
-  g_return_val_if_fail (GSK_IS_RENDER_NODE (root), 0);
-
-  res = 1;
-  for (child = gsk_render_node_get_first_child (root);
-       child != NULL;
-       child = gsk_render_node_get_next_sibling (child))
-    {
-      res += gsk_render_node_get_size (child);
-    }
-
-  return res;
-}
-
index 5ffb48ea46e8dc4528e163099c220f27eb34d7db..31653d4ec66b546536b227c719f85420b6ea37b8 100644 (file)
@@ -89,8 +89,6 @@ void gsk_render_node_update_world_matrix (GskRenderNode *node,
 void gsk_render_node_get_world_matrix (GskRenderNode     *node,
                                        graphene_matrix_t *mv);
 
-int gsk_render_node_get_size (GskRenderNode *root);
-
 G_END_DECLS
 
 #endif /* __GSK_RENDER_NODE_PRIVATE_H__ */